/*
 * Copyright (c) 2023 Huawei Device Co., Ltd.
 * Licensed under the Apache License,Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// 默认搜索关键词
export class DefaultSearchModel {
    showKeyword: string // 展示的搜索关键字
    styleKeyword: object
    realKeyword: string // 实际的搜索关键字
    searchType: number
    action: number
    alg: string
    gap: number
    source: object
    bizQueryInfo: string

    constructor() {

    }
}

// 搜索建议
export class SearchSuggestModel {
    allMatch: SearchMatch[]

    constructor() {

    }
}

// 专辑
class SearchMatch {
    keyword: string
    type: number
    alg: string
    lastKeyword: string
    feature: string
}

// 搜索
export class SearchSongModel {
    searchQcReminder: object
    songs: SongModel[]
    songCount: number

    constructor() {

    }
}

// 歌曲，对比真实获取到的数据仅列举有用属性
export class SongModel {
    name: string
    id: number
    ar: AR[]
    al:AL
    single: number
    mv: number
    publishTime: number
    sq:SQ
    privilege:{
        id:number
        freeTrialPrivilege:{
            resConsumable:boolean
            userConsumable:boolean
            listenType:object
        }

    }
    constructor(){}
}

// 艺术家
class AR {
    id: number
    name: string
    tns:string[]
    alias:string[]
    alia:string[]
}

// 专辑
class AL {
    id: number
    name: string
    picUrl: string
    tns:string[]
    pic_str: string
    pic: number
}

// 音质
class SQ {
    br: number
    fid: number
    size: number
    vd: number
    sr: number}

// 热搜
export class HotSearchModel{
    id: number
    searchWord: string
    score: number
    content: string
    source: number
    iconType: number
    iconUrl: string
    url: string
    alg: string
}